const methods = {}

methods.getSeleteOption = (data, key = ['key', 'text'], value = ['value', 'value']) => {
	for(let i of data) {
		i[key[1]] = i[key[0]]
		i[value[1]] = i[value[0]]
	}
	return data
}

methods.deepClone = (obj, hash = new WeakMap()) => {
  // 处理 null 和非对象类型
  if (obj === null || typeof obj !== "object") return obj;

  // 处理 Date
  if (obj instanceof Date) return new Date(obj);

  // 处理 RegExp
  if (obj instanceof RegExp) return new RegExp(obj);

  // 处理循环引用
  if (hash.has(obj)) return hash.get(obj);

  // 支持 Array 和普通对象
  const cloned = Array.isArray(obj) ? [] : {};
  hash.set(obj, cloned);

  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      cloned[key] = deepClone(obj[key], hash);
    }
  }

  return cloned;
}


export default methods